import Vue from 'vue'
import VueRouter from 'vue-router'
import { Dialog } from 'vant'

// 全局注册
Vue.use(Dialog)

Vue.use(VueRouter)

import routes from '@/views'

const router = new VueRouter({
  mode: 'history',
  routes: [
    ...routes,
    { path: '/*', redirect: '/home' }
  ]
})

// 定义全局路由守卫
router.beforeEach((to, from, next) => {
  // 对于有权限的页面，我们需要进一步的进行判断，路由的元信息
  if (to.meta.isAuth) {
    // 如果没有授权登录，没有获取到token值，这无法进行登录
    if (localStorage.getItem('token')) {
      next()
    } else {
      Dialog.alert({
        title: '温馨提示',
        message: '请您先登录'
      })
      next('/login')
    }
  }
  next()
})

/**
 * 路由守卫会匹配相应的路由规则，在路由规则中对于购物车和个人中心页面设置了meta元信息，如果要进入购物车页面和个人中页面，需要进行token验证，如果没有token则会进入到login页面
*/

export default router
